package modelInterfaces;

import pluginInterfaces.IMetric;

/**
 * Provides all interfaces for create the Model Layer by according Abstract Factory pattern design
 * 
 */
public abstract class AbstractModelFactory {

	public abstract IProject getProject();
	public abstract IPrediction getPrediction();
    public abstract IObject getItem();
	public abstract ISubject getUser();
	public abstract IEvent getEvent();
    public abstract IEventType getEventType();
    public abstract IValue getValue();
    public abstract ITest getTest();
    public abstract IResult getResultMetric();
	public abstract IMetric getMetricSetup();

    public static AbstractModelFactory getModelFactory()
    {
        return new ModelFactory();
    }
	
}
